package com.qqtech.qquan.hi.service;

import com.qqtech.core.frame.service.BaseService;
import com.qqtech.qquan.hi.enums.HiRuleTaskTypeDictEnum;
import com.qqtech.qquan.hi.model.HiUserTask;
import com.qqtech.qquan.hi.model.HiUserTaskVo;

public interface HiUserTaskService extends BaseService<HiUserTask> {
	
	/**
	 * 完成一个任务
	 * @param userId
	 * @param ruleId
	 * @return
	 */
	int finishOneTask(Integer userId, Integer ruleId);

	/**
	 * 是否完成所有任务
	 * @param userId
	 * @return
	 */
	boolean isFinishAllTask(Integer userId);
	
	/**
	 * 初始化用户的任务【按任务类型批量拷贝hi_rule】
	 * @param userId
	 * @param taskType
	 * @return
	 */
	int initTask4User(Integer userId, HiRuleTaskTypeDictEnum taskType);

	/**
	 * 查询用户的一个任务
	 * @param userId
	 * @param ruleId
	 * @return
	 */
	HiUserTaskVo getOneUserTask(Integer userId, Integer ruleId);
}